import { createSSRApp } from 'vue';
import App from './App.vue';
import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
// 引入 uView Pro
import uViewPro from 'uview-pro';

export function createApp() {
  const app = createSSRApp(App);

  // 创建 Pinia 实例
  const pinia = createPinia();
  // 使用持久化插件
  // 关键：让插件用 uni 的 storage
  pinia.use(piniaPluginPersistedstate, {
    storage: {
      getItem: key => uni.getStorageSync(key),
      setItem: (key, val) => uni.setStorageSync(key, val),
      removeItem: key => uni.removeStorageSync(key),
    },
  });

  // 使用 Pinia
  app.use(pinia);

  // 使用 uView Pro
  app.use(uViewPro);

  return {
    app,
    Pinia: pinia,
  };
}
